-
Notifications
You must be signed in to change notification settings - Fork 8.2k
x86: add kconfigs and compiler flags for MMX and SSE* #31198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
arch/x86/core/ia32/crt0.S
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is CONFIG_X86_SSE supposed to be a superset of all the configs like CONFIG_X86_SSE4A, for example?
Most of the asm code related to SSE applies to all SSE variants and also MMX since they are all using the same set of XMM registers
I don't think this will work if someone just selects CONFIG_X86_SSE4 for example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed to do select X86_SSE so CONFIG_X86_SSE is enabled when any SSE kconfig is enabled.
MMX registers overlay with FPU registers so only needs CONFIG_FPU.
95d70b0 to
5157746
Compare
5157746 to
222722f
Compare
It is possible to enable SSE without using SSE for floating point, so fix the compiler flags. Signed-off-by: Daniel Leung <[email protected]>
On x86, it is possible to use FPU (387) and SSE for floating point operations. So test both. Signed-off-by: Daniel Leung <[email protected]>
The app_kernel benchmarking app has the config file for benchmarking with floating point enabled, but it was never used. So add it to the testcase.yaml. Note that this also limits to run on one CPU on a SMP system as the resulting numbers would be more consistent among runs. Signed-off-by: Daniel Leung <[email protected]>
This adds X86 keyword to the kconfigs to indicate these are for x86. The old options are still there marked as deprecated. Signed-off-by: Daniel Leung <[email protected]>
This adds kconfigs and compiler flags to support MMX and SSE* instructions. Signed-off-by: Daniel Leung <[email protected]>
222722f to
d6faf57
Compare
This adds kconfigs and compiler flags to support MMX and SSE* instructions.